﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Medianamik.Core.Logging
{
    /// <summary>
    /// Represents an entry in the log database
    /// </summary>
    public interface ILogEntry
    {
        Guid LogID { get; }
        Guid? ObjectID { get; }
        string ObjectName { get; }
        string Message { get; }
        DateTime LoggedOn { get; }
        string LoggedBy { get; }
        LogEntryType Type { get; }
        string IP { get; }
        string UserAgent { get; }
        string ShortUserAgent { get; }
    }

    /// <summary>
    /// The type of a log entry
    /// Node must be equal to 0 as it is the default type
    /// </summary>
    public enum LogEntryType
    {
        Node        = 0,
        Login       = 1,
        User        = 2,
        File        = 3,
        Template    = 4,
        Role        = 5,
        Group       = 6,
        Redirect    = 7
    }
}
